import { Component, Prop, Vue, Watch } from 'vue-property-decorator'

@Component
export default class extends Vue {
  // ++++++++++ model ++++++++++
  // ++++++++++ props ++++++++++
  @Prop()
  value!: string

  @Prop({ default: () => ({}) })
  select!: ISelect

  // ++++++++++ data ++++++++++
  selectValue = ''

  // ++++++++++ computed ++++++++++
  // ++++++++++ methods normal ++++++++++
  // ++++++++++ methods event ++++++++++
  // ++++++++++ Lifecycle Hooks ++++++++++

  // ++++++++++ watch ++++++++++
  @Watch('selectValue')
  onSelectValueWarch() {
    this.$emit('update:value', this.selectValue)
  }

  @Watch('value')
  onValueChange() {
    this.selectValue = this.value
  }
}
